package com.mall.business.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mall.common.annotation.Excel;
import com.mall.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 提现申请对象 t_tx_sq
 *
 * @author ruoyi
 * @date 2025-03-31
 */
@Data
@TableName(value = "t_tx_sq")
@EqualsAndHashCode(callSuper = true)
public class TTxSq extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    /**
     * "用户"
     */
    @Excel(name = "用户")
    private String userId;
    /**
     * "收款人姓名"
     */
    @Excel(name = "收款人姓名")
    @NotBlank
    @Size(min = 0, max = 50, message = "收款人姓名不能超过50个字符")
    private String name;
    /**
     * "银行账号"
     */
    @Excel(name = "银行账号")
    @NotBlank
    @Size(min = 0, max = 50, message = "银行账号不能超过50个字符")
    private String bankNo;
    /**
     * "银行名称"
     */
    @Excel(name = "银行名称")
    @NotBlank
    @Size(min = 0, max = 50, message = "银行名称不能超过50个字符")
    private String bankName;
    /**
     * "金额"
     */
    @Excel(name = "金额")
    @DecimalMin(value = "0.00", inclusive = true, message = "金额不能小于0")
    @DecimalMax(value = "1000000.00", inclusive = true, message = "金额不能超过1000000")
    private BigDecimal money;
    /**
     * "审核时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;
    /**
     * "审核状态"
     */
    @Excel(name = "审核状态")
    private String checkStatus;
    /**
     * "审核备注"
     */
    @Excel(name = "审核备注")
    private String checkRemark;
    /**
     * "审核用户"
     */
    @Excel(name = "审核用户")
    private String checkUser;


    /**
     * "企业名称"
     */
    @TableField(exist = false)
    public String nickName;

}
